﻿using System;
using System.Web.Http;
using Swashbuckle.Dummy.Types;

namespace Swashbuckle.Dummy.Controllers
{
    public class PrimitiveTypesController : ApiController
    {
        public bool EchoBoolean(bool value)
        {
            return value;
        }

        public byte EchoByte(byte value)
        {
            return value;
        }

        public sbyte EchoSByte(sbyte value)
        {
            return value;
        }

        public short EchoInt16(short value)
        {
            return value;
        }

        public ushort EchoUInt16(ushort value)
        {
            return value;
        }

        public int EchoInt32(int value)
        {
            return value;
        }

        public uint EchoUInt32(uint value)
        {
            return value;
        }

        public long EchoInt64(long value)
        {
            return value;
        }

        public ulong EchoUInt64(ulong value)
        {
            return value;
        }

        public float EchoSingle(float value)
        {
            return value;
        }

        public double EchoDouble(double value)
        {
            return value;
        }

        public decimal EchoDecimal(decimal value)
        {
            return value;
        }

        public DateTime EchoDateTime(DateTime value)
        {
            return value;
        }

        public DateTimeOffset EchoDateTimeOffset(DateTimeOffset value)
        {
            return value;
        }

        public TimeSpan EchoTimeSpan(TimeSpan value)
        {
            return value;
        }

        public Guid EchoGuid(Guid value)
        {
            return value;
        }

        public PrimitiveEnum EchoEnum(PrimitiveEnum value)
        {
            return value;
        }

        public char EchoChar(char value)
        {
            return value;
        }

        public bool? EchoNullableBoolean(bool? value)
        {
            return value;
        }

        public byte? EchoNullableByte(byte? value)
        {
            return value;
        }

        public sbyte? EchoNullableSByte(sbyte? value)
        {
            return value;
        }

        public short? EchoNullableInt16(short? value)
        {
            return value;
        }

        public ushort? EchoNullableUInt16(ushort? value)
        {
            return value;
        }

        public int? EchoNullableInt32(int? value)
        {
            return value;
        }

        public uint? EchoNullableUInt32(uint? value)
        {
            return value;
        }

        public long? EchoNullableInt64(long? value)
        {
            return value;
        }

        public ulong? EchoNullableUInt64(ulong? value)
        {
            return value;
        }

        public float? EchoNullableSingle(float? value)
        {
            return value;
        }

        public double? EchoNullableDouble(double? value)
        {
            return value;
        }

        public decimal? EchoNullableDecimal(decimal? value)
        {
            return value;
        }

        public DateTime? EchoNullableDateTime(DateTime? value)
        {
            return value;
        }

        public DateTimeOffset? EchoNullableDateTimeOffset(DateTimeOffset? value)
        {
            return value;
        }

        public TimeSpan? EchoNullableTimeSpan(TimeSpan? value)
        {
            return value;
        }

        public Guid? EchoNullableGuid(Guid? value)
        {
            return value;
        }

        public PrimitiveEnum? EchoNullableEnum(PrimitiveEnum? value)
        {
            return value;
        }

        public char? EchoNullableChar(char? value)
        {
            return value;
        }

        public string EchoString(string value)
        {
            return value;
        }
    }
}
